home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -in_the_mag- / reader_requests / scilab / demos / transl / demotrad.dem next >
Text File  |  1999-09-16  |  2KB  |  126 lines

  1. mode(-1)
  2. getf('SCI/demos/transl/printspecs.sci','c')
  3. deff('[]=message(txt)','write(%io(2),txt)')
  4. //[num]=x_choose(tochoose,comment)
  5. n=x_choose(['Clauses, loops and operations';
  6.           'Matrix concatenation';
  7.           'Concatenations and inversions';
  8.           'Call of simple primitives';
  9.           'Operation with complex numbers';
  10.           'Matrix divisions ';
  11.           ],'Which macro is to be translated ?')
  12. if n==0 then return,end
  13. nam='t'+string(n)
  14. select n,
  15. case 1 then,
  16. deff('[x]=t1(a,b,n)',[
  17. 'z=n+m+n,'
  18. 'c(1,1)=z,'
  19. 'c(2,1)=z+1,'
  20. 'c(1,2)=2,'
  21. 'c(2,2)=0,'
  22. 'if n=1 then,'
  23. ' x=a+b+a,'
  24. 'else,'
  25. ' x=a+b-a''+b,'
  26. 'end,'
  27. 'y=a(3,z+1)-x(z,5),'
  28. 'x=2*x*x*2.21,'
  29. 'sel=1:5,'
  30. 't=a*b,'
  31. 'for k=1:n,'
  32. ' z1=z*a(k+1,k)+3,'
  33. 'end,'
  34. 't(sel,5)=a(2:4,7),'
  35. 'x=[a b;-b'' a'']'])
  36. //
  37. lt1=list();
  38. lt1(1)=list('1','m','m');
  39. lt1(2)=list('1','m','m');
  40. lt1(3)=list('0','1','1');
  41. printspecs(t1,lt1)
  42.  
  43. comp(t1);
  44. txt=mac2for(macr2lst(t1),lt1);
  45. message(txt)
  46. case 2 then,
  47. deff('[x]=t2(a,b,c,d)',[
  48. 'z=[a b b],'
  49. 'y=[a;c;c],'
  50. 'x=[a b;c d]*3.5'])
  51.  
  52. lt2=list();
  53. lt2(1)=list('1','m1','n1');
  54. lt2(2)=list('1','m1','n2');
  55. lt2(3)=list('1','m2','n1');
  56. lt2(4)=list('1','m2','n2');
  57.  
  58. printspecs(t2,lt2)
  59.  
  60. comp(t2);
  61. txt=mac2for(macr2lst(t2),lt2);
  62. message(txt)
  63. case 3 then,
  64. deff('[x]=t3(a,b,c,d)','x=[a;c]/[a b;c d]*3.5')
  65.  
  66. lt3=list();
  67. lt3(1)=list('1','m1','n1');
  68. lt3(2)=list('1','m1','n2');
  69. lt3(3)=list('1','m2','n1');
  70. lt3(4)=list('1','m2','n2');
  71.  
  72. printspecs(t3,lt3)
  73.  
  74. comp(t3);
  75. txt=mac2for(macr2lst(t3),lt3);
  76. message(txt)
  77. case 4 then,
  78. deff('[x]=t4(a,n)',[
  79. '[lhs,rhs]=argn(0),'
  80. '[m,n]=size(a),'
  81. 'if m=n then error(''incorrect dimensions ''),end,'
  82. 'x=sin(a),'
  83. 'u=norm(x),'
  84. 'if u=%eps then x=x/u,end,'])
  85.  
  86. lt4=list();
  87. lt4(1)=list('1','m1','n1');
  88.  
  89. printspecs(t4,lt4)
  90.  
  91. comp(t4);
  92. txt=mac2for(macr2lst(t4),lt4);
  93. message(txt)
  94. case 5 then,
  95. deff('[x]=t5(a,b)','x=a+%i*b')
  96.  
  97. lt5=list();
  98. lt5(1)=list('1','m1','n1',0);
  99. lt5(2)=list('1','m1','n1',0);
  100.  
  101. printspecs(t5,lt5)
  102.  
  103. comp(t5);
  104. txt=mac2for(macr2lst(t5),lt5);
  105. message(txt);
  106. case 6 then,
  107. deff('[x]=t(a,b)',[
  108. 'c=b*b,'
  109. 'x=(a/b)/2+2/c,'])
  110.  
  111. lt=list();
  112. lt(1)=list('1','na','ma');
  113. lt(2)=list('1','ma','ma');
  114.  
  115. printspecs(t,lt)
  116.  
  117. comp(t);
  118. txt=mac2for(macr2lst(t),lt);
  119. message(txt)
  120. end
  121.  
  122.  
  123.  
  124.  
  125.  
  126.